═══ 1. General Help ═══ This is a 32-bit, mouse oriented, interactive 3-dimensional (3-D) data viewing program for the IBM OS/2 2.x operating system. The program has the mini Virtual Reality (VR) capability that enables the use to interact with the 3-D data easily. Future versions will make use of OS/2's mutithread capabilities to render the use of system facilities more efficient. ═══ 2. Help Index ═══ Each of the enabled functions is described. ═══ 2.1. File ═══ ═══ 2.1.1. Exit ═══ Exit the program. ═══ 2.1.2. About ═══ Display the product information. ═══ 2.2. Edit ═══ ═══ 2.2.1. Cut ═══ Cut a rectangular out of the image(s) and redisplay it's (their) part(s) inside the rectangular. At present, this function serves no purpose other than testing. ═══ 2.3. 3-D Models ═══ Define, Lable, Build and Destroy the 3-D model(s). ═══ 2.3.1. Demos ═══ A set of 7 analytic functions that can generate the 3-D data set used for demonstration. ■ Function 1: x = 12*u, y = 12*v, z = 0. ■ Function 2: x = 12*cos(v), y = 12*sin(v), z = 12*u/Pi. ■ Function 3: x = 12*cos(v)*sin(u), y = 12*sin(v)*sin(u), z = 12*cos(u). ■ Function 4: x = 3*cos(v)*(5-1.2*sin(u)), y = 3*sin(v)*(5-1.2*sin(u)), z = 3*(1.2*cos(u)+sin(4*v)). ■ Function 5: x = 12*v*cos(v)*cos(u), y = 12*v*sin(v)*cos(u), z = 12*v*sin(u). ■ Function 6: x = 12*(Pi/2+atan(10*(u-Pi/1.7)))*cos(v), y = 12*(Pi/2+atan(10*(u-Pi/1.7)))*sin(v), z = 12*u. ■ Function 7: x = 12*u, y = 12*v, z = 12*Pi*sin(0.85*(u^2+v^2)). ═══ 2.3.2. ASCII Input ═══ The format of these script files in the current version of the program is ---------------------------------------------------------------------- id: # | A non-negative integer id number. (0<= id < 30) ---------------------------------------------------------------------- Name: name | A string that labels a particular data set. ---------------------------------------------------------------------- Color: | A string that declares the color of the covering | surface of the image. The availble colors are: | Blue, DarkBlue, Green, DarkGreen, Red, DarkRed, | Yellow, Cyan, Pink, DarkPink, White, Black, | Brown, DarkGray, PaleGray ---------------------------------------------------------------------- nu nv | nu is the number of mesh points on the u-axis and nv is | the number of mesh points on the v-axis. ---------------------------------------------------------------------- x1 y1 z1 | This set is the 3-D data block. The order of these x2 y2 z2 | 3-D data points are arranged such that the u .... | parameter is kept fixed while v run from v_1 to .... | v_nv, then u changes to its next value and v run xn yn zn | from v_1 to v_nv again. ---------------------------------------------------------------------- Coordinate | A string that signifies the begining of the body | coordinate definition. ---------------------------------------------------------------------- xx0 xy0 xz0 | Two points that define the x_axis. It can be set xx1 xy1 xz1 | to {0 0 0} and {a 0 0} at the begining, with "a" | a number of the same order as the size of the 3-D | object. ---------------------------------------------------------------------- yx0 yy0 yz0 | Two points that define the y_axis. It can be set yx1 yy1 yz1 | to {0 0 0} and {0 a 0} at the begining. "a" | should be the same as the one for the x_axis. ---------------------------------------------------------------------- zx0 zy0 zz0 | Two points that define the z_axis. It can be set zx1 zy1 zz1 | to {0 0 0} and {0 0 a} at the begining. "a" | should be the same as the one for the x_axis. ---------------------------------------------------------------------- next/end | A string signifies the termination of the data | set definition. If the string is "next", it also | signifies the begin of a next one. Otherwise, it | signifies the end of the definition. ---------------------------------------------------------------------- ..... | Repeate the above steps, if a "next" is read, to ..... | define another 3-D object to be plotted on the ..... | same screen. ---------------------------------------------------------------------- ═══ 2.3.3. ASCII Output ═══ It saves all of the 3-D objects in the current session. ═══ 2.3.4. Select Models ═══ By clicking on the image(s) under the mouse pointer using the mouse button 1, the mode of the image(s) selected can be changed. ═══ 2.3.5. Select All ═══ If not all of the images are in the active mode, it turns all of them active. ═══ 2.3.6. Display All ═══ If not all of the images defined are displayed, it displays all of them on the screen. ═══ 2.3.7. Destory Active ═══ Destory all of the images that are in the active mode. Since the memory spaces allocated for these images are also released, these images can not be recovered after this action. ═══ 2.3.8. Destory All ═══ Destory all images in the current session. Since the memory spaces allocated for these images are also released, these images can not be recovered after this action. ═══ 2.4. Action ═══ Viewer's motion and action. ═══ 2.4.1. Construction ═══ Reconstruct the images using the current parameters. ═══ 2.4.2. Transformation ═══ The viewer can rotate, displace, scale or delete individual or a group of 3-D object(s) when it (they) is (are) active. To perform these transformations, the viewer should first activate the object(s) by turning on the "Select Models" mode, which can be activated in the "3D Models" menu, and clicking on object(s) that is (are) not active and is (are) of interest. (If the object is already active before been clicked, it turns the object into inactive mode after been clicked.) By selecting the "Transform" item in "Action" menu, providing the required parameters and turning on the transformation buttons, the viewer can achieve the intended transformation(s). The order or the transformations applied is the same as the one appears on the dialog box. ═══ 2.4.3. Shift Focus ═══ The viewer can shift his/her focus (of viewing). The focus point of the viewer on the screen is assumed to be at the center. To shift the focus point, the viewer should activate the shift focus mode in the "Action" menu. By pointing the mouse pointer to the point of interest and clicking the mouse button 1, the effects of shifting focus point in the real life can be achieved. This mode is automatically deactivated when the program finishes the shifting focus process. ═══ 2.4.4. Walk Stopped ═══ The viewer can walk forward and backward in his/her focus direction of viewing. This mode can be activated in the "Action" menu by clicking on the "Walk Stoped" item. Once the walking mode is activated, the "Walk Stoped" item is changed to "Walking..." indicating that the viewer is in walking mode. The viewer walk forward if he/she clicks the mouse button 1 and walk backward if he/she clicks the mouse button 2. This mode is deactivated by clicking the mouse button 3 or pressing the ESC key in case the viewer has a two button mouse or prefers to do so. ═══ 2.4.5. Mini VR ═══ The viewer can "fly" through and around the 3-D objects in real time. This is a mini virtual reality (VR) mode in which the viewer can look around at all directions and move to anywhere in the virtual 3-D space. This mode is activated in the "Action" menu. After activation of this mode, the viewer moves to the right by moving the mouse to the right and he/she moves to the left by moving the mouse to the left. To move upward, the viewer should move the mouse forward (this is just opposite to the conventional airplane). Opposite direction of motion is achieved by moving the mouse backward. The speed of the foward flying is controled by the frequence of the mouse button 1 been clicked. The speed of the backward flying speed is controled by the frequency of the mouse button 2 been clicked. This mode is deactivated by pressing the mouse button 3 or the ESC key in case the viewer has a two button mouse or prefers to do so. ═══ 2.5. View ═══ Viewer's choice on how the images should be viewed. ═══ 2.5.1. Redraw ═══ It redraws all of the images in the current session. ═══ 2.5.2. Draw ═══ It contains various choices for the viewer to draw different aspects of the images. Visual Bound ?????. 2-D Images Mesh It displays a rectangular mesh that covers each image. Wire Frame It displays the wire frame of a 3-D object. Cover Surface It displays the covering surfaces of a 3-D object. Body Coord It displays the body coordinate axis for each 3-D object. World Coord It displays the world coordinate axis. ═══ 2.5.3. Options ═══ It provides the viewer with various ways of displaying the images of 3-D objects. World Coordinate If this item is checked, a world coordinate is displayed. The world coordinate provides a mean for the viewer to keep track of his/her orientation when "traveling" in the virtual 3-D space. Body Coordinate This item acts on each images separately. Each image on the screen contains a flag indicating whether or not to display its body coordinate. If the viewer wants to change this flag, he/she should first activate those images that the change is intended to be performed and deactivate those ones that no change is intended for them. Bounding Wire Box This item acts on each images separately. Each image on the screen contains a flag indicating whether or not to display the wire frame of its bounding box. If the viewer wants to change this flag, he/she should first activate those images that the change is intended to be performed and deactivate those ones that no change is intended for them. Numerical Coord.. This item acts on each images separately. Each image on the screen contains a flag indicating whether or not to display numerical coordinate in the world coordinate. If the viewer wants to change this flag, he/she should first activate those images that the change is intended to be performed and deactivate those ones that no change is intended for them. Solid Coordinate This item acts on each images separately. Each image on the screen contains a flag indicating whether or not to display the solid surfaces of its bounding box that does not block the view of the 3-D object. If the viewer wants to change this flag, he/she should first activate those images that the change is intended to be performed and deactivate those ones that no change is intended for them. Hide Hidden Lines This item acts on each images separately. Each image on the screen contains a flag indicating whether or not to remove the hidden lines of the image of the 3-D object. If the viewer wants to change this flag, he/she should first activate those images that the change is intended to be performed and deactivate those ones that no change is intended for them. Covering Surfaces This item acts on each images separately. Each image on the screen contains a flag indicating whether or not to remove the hidden surfaces of the image of the 3-D object. If the viewer wants to change this flag, he/she should first activate those images that the change is intended to be performed and deactivate those ones that no change is intended for them. Box Clipping If checked, the images are clipped by a rectangular box. Outside the box, no images are displayed. Sound It turns on/off the sound effects. ═══ 2.5.4. Zoom ═══ Zooming options. Screen Zoom This is a simple screen zooming. Telescope The viewer can adjust his/her open viewing angle to simulate the effects of a telescope. This mode can be activated in the "Zoom" submenu of the "View" menu. After activating this mode, the viewer can zoom-in by clicking the mouse button 1 and zoom-out by clicking mouse button 2. To deactivate the zooming mode, the viewer should click the mouse button 3 or press the ESC key in case he/she has a two button mouse or prefers to do so. ═══ 2.6. Parameters ═══ It provides the viewer to change various parameters. ═══ 2.6.1. Transform ═══ It provides the parameters for transformations, which are limited to three kind: translation, rotation and scaling. ═══ 2.6.2. Eye and Screen ═══ It provides the input for the viewing eye's open angle, it's polar angle in the world coordinate, and it's distance from the origin of the world coordinate. After providing relevant parameters, the images of the 3-D objects that are seen in current location of the viewer are displayed.